#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
黄金投资分析功能使用示例
展示如何使用OpenAIClient的get_gold_investment_analysis方法
"""

from utils import OpenAIClient
from gold_price_fetcher import get_cngold_realtime_price

def main():
    """主函数 - 展示黄金投资分析功能"""
    print("💰 黄金投资分析功能示例")
    print("=" * 50)
    
    # 1. 初始化OpenAI客户端
    print("\n1. 初始化OpenAI客户端...")
    client = OpenAIClient()
    
    if not client.client:
        print("❌ OpenAI客户端未初始化")
        print("请检查以下配置：")
        print("  - 确保 config.json 文件存在")
        print("  - 确保文件中包含有效的 openai_api_key")
        print("  - 参考 config.example.json 创建配置文件")
        return
    
    print("✅ OpenAI客户端初始化成功")
    
    # 2. 获取实时金价
    print("\n2. 获取实时金价...")
    try:
        price, time_str, source = get_cngold_realtime_price()
        print(f"✅ 当前金价: {price} 元/克")
        print(f"📅 获取时间: {time_str}")
        print(f"🔗 数据来源: {source}")
    except Exception as e:
        print(f"⚠️  金价获取失败: {e}")
        print("将使用模拟数据进行分析...")
    
    # 3. 生成黄金投资分析
    print("\n3. 生成AI黄金投资分析...")
    print("⏳ 正在调用AI模型分析...")
    
    try:
        # 调用黄金投资分析功能
        result = client.get_gold_investment_analysis(
            model="moonshot-v1-8k",  # 可以改为 "gpt-4" 获得更好的分析质量
            temperature=0.7
        )
        
        if "error" in result:
            print(f"❌ 分析生成失败: {result['error']}")
            return
        
        # 4. 展示分析结果
        print("✅ 黄金投资分析生成成功！")
        print("\n" + "=" * 60)
        print("📊 黄金投资分析报告")
        print("=" * 60)
        
        print(f"\n📈 基础数据:")
        print(f"当前金价: {result['gold_price']} 元/克")
        print(f"数据时间: {result['price_time']}")
        print(f"数据来源: {result['data_source']}")
        print(f"分析时间: {result['timestamp']}")
        print(f"使用模型: {result['model_used']}")
        
        print(f"\n📝 投资分析:")
        print("-" * 60)
        print(result['analysis'])
        print("-" * 60)
        
        # 5. 显示使用统计
        if 'usage' in result and result['usage']:
            print(f"\n💰 API使用统计:")
            usage = result['usage']
            if isinstance(usage, dict):
                print(f"输入Token: {usage.get('prompt_tokens', 'N/A')}")
                print(f"输出Token: {usage.get('completion_tokens', 'N/A')}")
                print(f"总Token: {usage.get('total_tokens', 'N/A')}")
        
        print("\n✨ 分析完成！")
        
    except Exception as e:
        print(f"❌ 分析过程中出错: {e}")

def demo_output():
    """展示预期的输出格式"""
    print("\n📋 预期输出格式示例:")
    print("=" * 60)
    
    demo_analysis = """
**黄金相关**：
▶ 地缘政治：中东局势暂缓，避险需求降温:cite[2]:cite[8]
▶ 货币政策：美联储理事沃勒：7月降息需通胀温和:cite[2]
▶ 资金流向：COMEX黄金期货周跌1.8%，创两周最大跌幅:cite[2]

**操作建议**（加仓/减仓/持有）：
▶ 核心依据：
  ✓ 地缘风险指数（升级/缓和）:cite[2]
  ✓ 美元与实际利率（美联储鹰/鸽信号）:cite[6]:cite[8]
  ✓ 技术支撑位（例：3350美元关键支撑）:cite[2]

**风险提示**：
- 关注美联储货币政策变化
- 监控地缘政治事件发展
- 注意技术面关键支撑位
"""
    
    print(demo_analysis.strip())
    print("=" * 60)

if __name__ == "__main__":
    print("🎯 黄金投资分析功能完整示例")
    
    # 运行主要功能
    main()
